home *** CD-ROM | disk | FTP | other *** search
- * BFD:
- + New executable formats
- + Read list of libraries needed
- + Read list of undefined symbols in executables
- + Read list of exported symbols in libraries
- + Read debugging info from executables/libraries
- * Automatically update list of syscalls?
- * Improve documentation
- * Improve -e/-x options (regexp?)
- * Improve -l option
- * Improve C++ name demangling
- * Display different argument types
- * Update /etc/ltrace.conf
- * More architectures, cleaner way to port
- * More operating systems (solaris?)
- * Option -I (inter-library calls)
- * Modify ARGTYPE_STRING[0-5] types so that they don't stop displaying chars when '\0' is seen
- * Get rid of EVENT_ARCH_SYSCALL and EVENT_ARCH_SYSRET
- * Cleaner way to use breakpoints:
- + BP is placed in the PLT
- + When control hits there:
- - write down return address
- - change return address with another one (handled by ltrace)
- - get arguments...
- - change the process' PC to be in the correct place,
- without removing breakpoint
- + When control hits one of our return addresses:
- - get return value...
- - change PC to the right place
- * To be able to work with processes sharing memory, we must:
- + ptrace() every single thread
- + place breakpoints only in places where the process control can continue
- without having to remove it
- * List source dependencies in Makefile
- * Create different ltrace processes to trace different children
- * After a clone(), syscalls may be seen as sysrets in s390 (see trace.c:syscall_p())
-